﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Power.Models
{
    public class AIReviewEntity : BaseModel
    {
        private ObservableCollection<WorkSpaceEntity> excelList;
        public ObservableCollection<WorkSpaceEntity> ExcelList
        {
            get => excelList;
            set
            {
                excelList = value;
                RaisePropertyChanged();
            }
        }

        private ObservableCollection<DataList> dataList;
        public ObservableCollection<DataList> DataListList
        {
            get => dataList;
            set
            {
                dataList = value;
                RaisePropertyChanged();
            }
        }

        private List<SelectListItem> categorySelectList;
        public List<SelectListItem> CategorySelectList
        {
            get => categorySelectList;
            set
            {
                categorySelectList = value;
                RaisePropertyChanged();
            }
        }

        private List<SelectListItem> levelSelectList;
        public List<SelectListItem> LevelSelectList
        {
            get => levelSelectList;
            set
            {
                levelSelectList = value;
                RaisePropertyChanged();
            }
        }

        private List<SelectListItem> aicategorySelectList;
        public List<SelectListItem> AICategorySelectList
        {
            get => aicategorySelectList;
            set
            {
                aicategorySelectList = value;
                RaisePropertyChanged();
            }
        }

        private List<SelectListItem> aiLevelSelectList;
        public List<SelectListItem> AILevelSelectList
        {
            get => aiLevelSelectList;
            set
            {
                aiLevelSelectList = value;
                RaisePropertyChanged();
            }
        }

        private string other;
        public string Other
        {
            get => other;
            set
            {
                other = value;
                RaisePropertyChanged();
            }
        }
    }

    public class DataList:BaseModel
    {
        private string id;
        public string Id
        {
            get => id;
            set
            {
                id = value;
                RaisePropertyChanged();
            }
        }
        private string imagesName;
        public string ImagesName
        {
            get => imagesName;
            set
            {
                imagesName = value;
                RaisePropertyChanged();
            }
        }
        private string imagesSrc;
        public string ImagesSrc
        {
            get => imagesSrc;
            set
            {
                imagesSrc = value;
                RaisePropertyChanged();
            }
        }

        private DefectEntity priDefect;
        public DefectEntity PriDefect
        {
            get => priDefect;
            set
            {
                priDefect = value;
                RaisePropertyChanged();
            }
        }

        private DefectEntity aiDefect;
        public DefectEntity AIDefect
        {
            get => aiDefect;
            set
            {
                aiDefect = value;
                RaisePropertyChanged();
            }
        }

        private string review;
        public string Review
        {
            get => review;
            set
            {
                review = value;
                RaisePropertyChanged();
            }
        }
        private string remark;
        public string Remark
        {
            get => remark;
            set
            {
                remark = value;
                RaisePropertyChanged();
            }
        }

        /// <summary>
        /// 矩形位置（ xmin   xmax  ymin ymax）
        /// </summary>
        private string position;
        public string Position
        {
            get => position;
            set
            {
                position = value;
                RaisePropertyChanged();
            }
        }

        /// <summary>
        /// 起始井信息
        /// </summary>
        private WellEntity startWell;
        public WellEntity StartWell
        {
            get => startWell;
            set
            {
                startWell = value;
                RaisePropertyChanged();
            }
        }

        /// <summary>
        /// 终止井信息
        /// </summary>
        private WellEntity endWell;
        public WellEntity EndWell
        {
            get => endWell;
            set
            {
                endWell = value;
                RaisePropertyChanged();
            }
        }

        //类型
        private string _type;
        public string Type
        {
            get { return _type; }
            set { 
                _type = value; RaisePropertyChanged(); 
            }
        }
        //材质
        private string _mat;
        public string Mat
        {
            get { return _mat; }
            set { _mat = value; RaisePropertyChanged(); }
        }
        //检测长度
        private string _length;
        public string Length
        {
            get { return _length; }
            set { _length = value; RaisePropertyChanged(); }
        }
        //检测方法
        private string _method;
        public string Method
        {
            get { return _method; }
            set { _method = value; RaisePropertyChanged(); }
        }
        //检测方向
        private string _direction;
        public string Direction
        {
            get { return _direction; }
            set { _direction = value; RaisePropertyChanged(); }
        }
        //检测日期
        private string _date;
        public string Date
        {
            get { return _date; }
            set { _date = value; RaisePropertyChanged(); }
        }
        private bool _isChecked;
        public bool IsChecked { get => _isChecked; set { _isChecked = value; RaisePropertyChanged(); } }

    }
}
